package com.gph.saviorframework.fastdfs.monitor.dao;

import com.gph.saviorframework.fastdfs.monitor.model.FdfsFile;
import org.apache.ibatis.annotations.Param;
import org.aspectj.lang.annotation.Aspect;

import java.util.List;
import java.util.Map;

/**
 * 上传文件的dao
 */
@Aspect
public interface FdfsFileDao {

    /**
     * 添加上传文件
     * @param fdfsFile
     */
    void save(FdfsFile fdfsFile);

    /**
     * 根据id删除
     * @param id
     */
    void deleteById(@Param(value = "id")String id);

    /**
     * 根据fileid删除记录，同时删除文件服务器上的文件
     * @param fileId
     */
    void deleteByFileId(@Param(value = "fileId")String fileId);

    /**
     * 查询所有文件上传记录
     * @param sort
     * @param dir
     * @return
     */
    List<Map<String,Object>> find(
            @Param(value = "sort")String sort,
            @Param(value = "dir")String dir);
}
